87 research outputs found

    Deterministic Java in tiny embedded systems

    Get PDF
    As embedded systems become more and more complex, and the time to market becomes shorter, there is a need in the embedded systems community to find better programming languages that let the programmers develop correct code faster. The programming languages used today, typically C and/or Assemblers, are just too error-prone. The Java technology has therefore gained a lot of interest from developers of embedded systems in the last few years. We propose an approach based on compiling Java into native machine code via C as an intermediate language. The C code generation process should also add close interaction with a fully pre-emptive incremental garbage collector and a small and efficient real time kernel. Tests performed on a small 8-bit microprocessor show that it is possible to use a modern object oriented language with automatic memory management, such as Java, and yet generate fully predictable code that can be run in very small devices with severe memory constraints

    Design of a Practical and Compact mm-Wave MIMO System with Optimized Capacity and Phased Arrays

    Get PDF
    In this paper we evaluate the feasibility of short range outdoor mm-wave MIMO links in the 70 GHz portion of the E-band (71–76 GHz). We use phased arrays in order to strongly reduce the impact of the multipath components, thus making the channel mainly line-of-sight (LOS). We design the array using a simple patch as a single element and simulate the performances for a 200 m link and a MIMO system with equal element spacing at the transmitter and the receiver. Each node of the MIMO system consists of a uniform rectangular array (URA) where the single element is a patch antenna, in order to achieve higher gains and narrow beams. Such configuration is much more compact compared to the antennas currently employed for the same bandwidth. We optimize the interelement distances at the transmitter and the receiver and evaluate the capacity achievable with different array sizes. The results show that, for the proposed link budget, capacity up to 29 bit/s/Hz is achievable at a range of 200 m, with practical dimensions. We also show that the beamforming capabilities make the design much more flexible than the single reflector antenna systems. In the last part of the paper, we verify that our antenna can also operate in rainy conditions and longer ranges

    Flexible Language Interoperability

    Get PDF
    Virtual machines raise the abstraction level of the execution environment at the cost of restricting the set of supported languages. Moreover, the ability of a language implementation to integrate with other languages hosted on the same virtual machine typically constrains the features of the language. In this paper, we present a highly flexible yet efficient approach to hosting multiple programming languages on an objectoriented virtual machine. Our approach is based on extending the interface of each class with language-specific wrapper methods, offering each language a tailored view of a given class. This approach can be deployed both on a statically typed virtual machine, such as the JVM, and on a dynamic virtual machine, such as a Smalltalk virtual machine. We have implemented our approach to language interoperability on top of a prototype virtual machine for embedded systems based on the Smalltalk object model, which provides interoperability for embedded versions of the Smalltalk, Java, and BETA programming languages

    Measured Channel Hardening in an Indoor Multiband Scenario

    Full text link
    A study of channel hardening in a large-scale antenna system has been carried out by means of indoor channel measurements over four frequency bands, namely 1.472 GHz, 2.6 GHz, 3.82 GHz and 4.16 GHz. NTNU's Reconfigurable Radio Network Platform has been used to record the channel estimates for 40 single user non-line of sight radio links to a 64 element wide-band antenna array. By examining the rms delay spread and the ratio of the normalized subcarrier to average SISO link power of the radio channel received by a single user after combination, the hardening of this equivalent channel is analyzed for various numbers of nodes. The channel hardening merits show consistent behaviour throughout the frequency bands. By combining 16 antennas the rms delay spread of the equivalent channel is reduced from above 100 ns to below 35 ns with significantly reduced variation in the channel power.Comment: 6 pages, 7 figures, presented at IEEE PIMRC 201

    Garbage collector interface

    Get PDF
    The purpose of the presented garbage collector interface is to provide a universal interface for many different implementations of garbage collectors. This is to simplify the integration and exchange of garbage collectors, but also to support incremental, non-conservative, and thread safe implementations. Due to the complexity of the interface, it is aimed at code generators and preprocessors. Experiences from ongoing implementations indicate that the garbage collector interface successfully provides the necessary functionality in an efficient way

    An SDR Mission Measuring UHF Signal Propagation and Interference between Small Satellites in LEO and Arctic Sensors

    Get PDF
    Enabling communication to sensor systems in the Arctic is a challenge due to the harsh climate, limited infrastructure and its remote location. In this paper a communication system for Arctic back-haul serving low- power devices to complement existing services is discussed and two small satellite missions are defined. The communication mission objective is to provide Arctic researchers with faster access to scientific data. However, a precursor mission is needed to gather data about the UHF communication channel and interference in the Arctic to design a reliable communication system between Arctic sensors and LEO (Low Earth Orbit) satellites. An SDR (Software Defined Radio) payload is proposed to fly on a small satellite as a secondary payload in order to carry out the radio measurements in a flexible way. The challenges of being a secondary payload are also outlined

    Detection of radio interference in the UHF amateur radio band with the Serpens satellite

    Get PDF
    High packet losses when uplinking commands to small satellites have been reported in the UHF amateur band (430–440 MHz) since late 2013. Measurements of the uplink radio environment have shown high levels of in-band interference in previous works, but public measurement results are limited. Average interference levels are usually measured over some time to build heat maps. In this paper, the analysis is focused on sustained interference over a 24 ms time window using a maximum-minimum method. New heat maps and interference power distributions over Europe, Africa, the Middle East and the Americas were obtained using this method on measurements from the Serpens satellite. One of the missions of Serpens was to test an in orbit store-and-forward communication system to exchange short messages with ground sensors for disaster monitoring. The satellite operators had difficulties commanding the satellite due to interference, causing bit errors in uplink packets. Interference power of up to −70 dBm was detected during in-orbit measurements over Europe and North America, while expected received power from the ground stations was not more than −80 dBm. High power space-object tracking radars on the ground operating in the 420–450 MHz band could be the cause, but further measurements are required to verify this. Characterizing this interference can help develop mitigation techniques for future satellite communication systems

    Extensible Compiler Construction

    No full text
    Processing of programs is a core area in computer science. A compiler that translates source text to machine language is the most well-known kind of tool in this area, but there are numerous other kinds of related applications: source-to-source translators, refactoring tools, reengineering tools, metrics tools, consistency checkers, etc. These tools perform similar analyses and can therefore benefit from shared infrastructure. This thesis addresses the problem of how to build program-processing tools much more easily, providing high-level concise ways of programming the tools, and providing good modularity and extensibility, allowing for a high degree of reuse between tools. We present Rewritable Reference Attributed Grammars (ReRAGs), a technique that builds on well-known software development techniques such as object-orientation, aspect-oriented software development, declarative programming, attribute grammars, and transformation systems. ReRAGs combine mechanisms from these areas into one coherent framework with synergistic effects on modularity and extensibility. These mechanisms support several different decomposition criteria for modularization that enable re-use: as separate computations on the program model, as a base language and language extensions, and the same decomposition as used in a language specification for traceability. ReRAGs allow such modules to be decoupled from each other and automatically resolves complex context-sensitive dependences. An evaluation algorithm for the formalism is presented and implemented in the JastAdd tool which combines ReRAGs with Java. We have implemented a complete Java 1.4 compiler to demonstrate the full potential of the JastAdd system and to evaluate its mechanisms for modularization and extensibility. We show how name analysis for Java with its complex visibility rules involving nested scopes, inheritance, qualified access, and syntactic ambiguities can be modularized in the same way as the informal Java language specification. We have also extended our Java compiler with non-null types for detection of possible null-pointer violations at compile time. The extension is completely modular and the technique allows for so called pluggable type systems that can be enabled at will. The techniques scale to real languages and large applications. Our generated Java compiler passes as many tests as production use compilers during compliance testing, compiles applications larger than 100.000 lines of code, and the executable specification is less than two-thirds the size of handwritten compilers
    • …
    corecore